package cn.com.bluemoon.daps.api.sys;

import cn.com.bluemoon.daps.api.sys.factory.RemoteDapNoticeInfoServiceFallbackFactory;
import cn.com.bluemoon.daps.common.annotation.FcApiFor;
import cn.com.bluemoon.daps.common.constant.ServiceNameConstants.DapsApiSystem;
import cn.com.bluemoon.daps.common.domain.ResultBean;
import cn.com.bluemoon.daps.system.dto.NoticeSendRequestDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import springfox.documentation.annotations.ApiIgnore;

import javax.validation.Valid;

@FeignClient(value = DapsApiSystem.SERVICE, fallbackFactory = RemoteDapNoticeInfoServiceFallbackFactory.class)
@RequestMapping(DapsApiSystem.BASE_URI + DapsApiSystem.API_SYS_NOTICE)
@ApiIgnore
public interface RemoteDapNoticeInfoService {
    @PostMapping("/sendNotice")
    @FcApiFor(team = {"数据资产团队", "数据工具团队"})
    ResultBean<Boolean> send(@Valid @RequestBody NoticeSendRequestDto sendRequestDto);
}
